// Symbol 补充

// console.log(
//     // Symbol() === Symbol() // -> false
//     Symbol('foo') === Symbol('foo') // -> false
// )

// const s1 = Symbol.for('foo')
// const s2 = Symbol.for('foo')
// console.log(s1 === s2) // -> true

// console.log(
//     Symbol.for(true) === Symbol.for('true') // -> true
// )

// console.log(Symbol.iterator)
// console.log(Symbol.hasInstance)

const obj = {
    [Symbol.toStringTag]: 'XObject'
}
// console.log(obj.toString()) // -> [object XObject]

for(var key in obj) {
    console.log(key)
}

console.log(Object.keys(obj))
console.log(JSON.stringify(obj))
console.log(Object.getOwnPropertySymbols(obj))